package com.erlin.platform.service;

import com.erlin.common.api.UserInfoVo;
import com.erlin.common.api.param.WxRegisterParam;
import com.erlin.common.entity.ElPermission;
import com.erlin.platform.controller.param.AddNewUserParam;
import com.erlin.platform.entity.ElUser;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 后台用户表 服务类
 * </p>
 *
 * @author alin
 * @since 2021-05-16
 */
public interface IElUserService extends IService<ElUser> {
    /**
     * 新增用户
     * @param param
     * @return
     */
    Boolean addUser(AddNewUserParam param);

    /**
     * 用户登录
     * @param user
     * @param password
     * @return
     */
    String login(String user, String password);

    /**
     * 根据用户名获取用户
     * @param username
     * @return
     */
    ElUser getUserByName(String username);

    /**
     * 获取授权列表
     * @param id
     * @return
     */
    List<ElPermission> getPermissionList(Long id);

    /**
     * openId登录
     * @param code
     * @return
     */
    UserInfoVo wxLogin(String code);

    /**
     * 微信用户注册
     * @param param
     * @return
     */
    UserInfoVo wxRegister(WxRegisterParam param);
}
